<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 9">
<meta name=Originator content="Microsoft Word 9">
<link rel=File-List href="./AppendixI_files/filelist.xml">
<title>Appendix I</title>
<style>
<!--
 /* Font Definitions */
@font-face
	{font-family:"Microsoft Sans Serif";
	panose-1:2 11 6 4 2 2 2 2 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:1627421663 -2147483648 8 0 66047 0;}
 /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
p.MsoTitle, li.MsoTitle, div.MsoTitle
	{margin:0in;
	margin-bottom:.0001pt;
	text-align:center;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	font-weight:bold;
	mso-bidi-font-weight:normal;}
a:link, span.MsoHyperlink
	{mso-style-parent:"";
	color:blue;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;
	text-underline:single;}
em
	{mso-bidi-font-style:normal;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1027"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1"/>
 </o:shapelayout></xml><![endif]--><!--[if gte mso 9]><xml>
 <u1:DocumentProperties>
  <u1:Author> </u1:Author>
  <u1:Template>Normal</u1:Template>
  <u1:LastAuthor> </u1:LastAuthor>
  <u1:Revision>1</u1:Revision>
  <u1:TotalTime>1</u1:TotalTime>
  <u1:Created>2005-01-15T18:33:00Z</u1:Created>
  <u1:LastSaved>2005-01-15T18:34:00Z</u1:LastSaved>
  <u1:Pages>1</u1:Pages>
  <u1:Company> </u1:Company>
  <u1:Lines>1</u1:Lines>
  <u1:Paragraphs>1</u1:Paragraphs>
  <u1:Version>9.2720</u1:Version>
 </u1:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <u2:WordDocument>
  <u2:DisplayHorizontalDrawingGridEvery>0</u2:DisplayHorizontalDrawingGridEvery>
  <u2:DisplayVerticalDrawingGridEvery>0</u2:DisplayVerticalDrawingGridEvery>
  <u2:UseMarginsForDrawingGridOrigin/>
  <u2:Compatibility>
   <u2:FootnoteLayoutLikeWW8/>
   <u2:ShapeLayoutLikeWW8/>
   <u2:AlignTablesRowByRow/>
   <u2:ForgetLastTabAlignment/>
   <u2:LayoutRawTableWidth/>
   <u2:LayoutTableRowsApart/>
  </u2:Compatibility>
 </u2:WordDocument>
</xml><![endif]-->
</head>

<body bgcolor=silver lang=EN-US link=blue vlink=purple style='tab-interval:
.5in'>

<div class=Section1>

<div align=center>

<table border=0 cellpadding=0 width="80%" bgcolor=white style='width:80.0%;
 mso-cellspacing:1.5pt;background:white;mso-padding-alt:75.0pt 75.0pt 75.0pt 75.0pt'>
 <tr>
  <td width="100%" style='width:100.0%;padding:75.0pt 75.0pt 75.0pt 75.0pt'>
  <p class=MsoTitle align=left style='margin-left:1.0in;text-align:left'><span
  style='font-size:14.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  font-weight:normal;mso-bidi-font-weight:bold'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></p>
  <div align=center>
  <table border=0 cellspacing=0 cellpadding=0 width=432 style='width:4.5in;
   border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
   mso-padding-alt:0in 5.4pt 0in 5.4pt'>
   <tr>
    <td width=492 valign=top style='width:368.75pt;border:solid windowtext .5pt;
    padding:0in 5.4pt 0in 5.4pt'>
    <p class=MsoTitle align=left style='text-align:left'><span
    style='font-size:14.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
    font-weight:normal;mso-bidi-font-weight:bold'><a href="QiPrograms.zip">Download
    Programs</a> <o:p></o:p></span></p>
    </td>
    <td width=492 valign=top style='width:368.75pt;border:solid windowtext .5pt;
    border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
    <p class=MsoTitle align=left style='text-align:left'><span
    style='font-size:14.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
    font-weight:normal;mso-bidi-font-weight:bold'><a href="contents.htm">Go to
    Contents Page</a><o:p></o:p></span></p>
    </td>
   </tr>
  </table>
  </div>
  <p class=MsoTitle align=left style='margin-left:1.0in;text-align:left'><span
  style='font-size:14.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  font-weight:normal;mso-bidi-font-weight:bold'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></p>
  <p class=MsoTitle align=left style='margin-left:1.0in;text-align:left'><span
  style='font-size:14.0pt;mso-bidi-font-size:10.0pt;font-family:"Microsoft Sans Serif";
  font-weight:normal;mso-bidi-font-weight:bold'>Note that this HTML page was
  generated from Word 2000.<span style="mso-spacerun: yes">&nbsp; </span>Some
  of the code cannot be pasted into Qi. You are advised to download the program
  files through the above link.<o:p></o:p></span></p>
  <p class=MsoNormal align=center style='margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1'><span lang=EN-GB style='font-size:18.0pt;mso-bidi-font-size:
  10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></p>
  <p class=MsoNormal align=center style='margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center;
  mso-outline-level:1'><span lang=EN-GB style='font-size:18.0pt;mso-bidi-font-size:
  10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>Appendix I<u3:p></u3:p></span></p>
  <p class=MsoNormal align=center style='margin-top:0in;margin-right:-.35pt;
  margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:center'><span
  lang=EN-GB style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:
  "Times New Roman";mso-ansi-language:EN-GB'>&nbsp;<u3:p></u3:p></span></p>
  <p class=MsoNormal align=center style='margin-left:.5in;text-align:center;
  mso-outline-level:1'><span lang=EN-GB style='font-size:18.0pt;mso-bidi-font-size:
  10.0pt;font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman";
  mso-ansi-language:EN-GB'>Qi/Tk and the IFPE Project<u3:p></u3:p></span></p>
  <p class=MsoNormal style='margin-left:.5in;text-align:justify'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&nbsp;<u3:p></u3:p></span></p>
  <p class=MsoNormal style='margin-left:.5in;text-align:justify'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&nbsp;<u3:p></u3:p></span></p>
  <p class=MsoNormal style='margin-left:.5in;text-align:justify'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>So
  many fundamental programming techniques have derived from functional
  programming, that it is both a shame and a wonder that most students and
  programmers are deprived of any real knowledge of the area.<span
  style="mso-spacerun: yes">&nbsp;&nbsp; </span>In chapter one, we saw some of
  the historical reasons why this happened. <span style="mso-spacerun:
  yes">&nbsp;</span><u3:p></u3:p></span></p>
  <p class=MsoNormal style='margin-left:.5in;text-align:justify'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&nbsp;<u3:p></u3:p></span></p>
  <p class=MsoNormal style='margin-left:.5in;text-align:justify'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>The
  current challenge for functional programming is that modern programming has
  expanded past the normal perimeters of the read-evaluate-print loop. Graphical
  interfaces, scripting languages, multi-user databases, event driven
  programming, sound files, the Internet and virtual conferencing have all
  sprung up in the last twenty years. Many functional programming environments
  have nothing to offer in many of these areas. <u3:p></u3:p></span></p>
  <p class=MsoNormal style='margin-left:.5in;text-align:justify'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&nbsp;<u3:p></u3:p></span></p>
  <p class=MsoNormal style='margin-left:.5in;text-align:justify'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>Tk
  (short for toolkit) provides a command-driven means for creating widgets
  (graphical items such as buttons, menus, labels, geometrical shapes and
  pop-up windows). <em><span style='font-style:normal'>Qi</span></em>/Tk
  augments Tcl/Tk by incorporating a type-secure communication from <em><span
  style='font-style:normal'>Qi</span></em> to Tk, so that GUIs (graphical user
  interfaces) can be built without type errors. The current platform of <em><span
  style='font-style:normal'>Qi</span></em>/Tk is the Windows operating system,
  which in terms of distribution is by far the most commonly used OS. <span
  style="mso-spacerun: yes">&nbsp;</span><u3:p></u3:p></span></p>
  <p class=MsoNormal style='margin-left:.5in;text-align:justify'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&nbsp;<u3:p></u3:p></span></p>
  <p class=MsoNormal style='margin-left:.5in;text-align:justify'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>Qi/Tk
  is currently available from the Lambda Associates website.<span
  style="mso-spacerun: yes">&nbsp; </span>It is intended that this system will
  eventually be able to incorporate as much of TCL/Tk as possible.<span
  style="mso-spacerun: yes">&nbsp; </span>The Lambda Associates website includes
  online code samples of Qi/Tk and graphics displays.<span style="mso-spacerun:
  yes">&nbsp; </span>The standard for Qi/Tk is under revision and the manual
  can be downloaded from the website.<u3:p></u3:p></span></p>
  <p class=MsoNormal style='margin-left:.5in;text-align:justify'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&nbsp;<u3:p></u3:p></span></p>
  <p class=MsoNormal style='margin-left:.5in;text-align:justify'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>The
  goal of the IFPE project is to provide an integrated functional programming
  environment (IFPE) based on <em><span style='font-style:normal'>Qi/Tk</span> </em><em><span
  style='font-style:normal;mso-bidi-font-style:italic'>and Qi development tools
  </span></em>so that application programs can be written without the use of
  Java or C++. The final aim is to build a free functional development
  environment that is second to none. So far I have contributed Qi, Qi/Tk,
  Qi-YACC and Qi-Prolog and sunry documentation.<span style="mso-spacerun:
  yes">&nbsp; </span>There is a list on <a
  href="http://www.lambdassociates.org/">www.lambdassociates.org</a> of ongoing
  projects for volunteers for IFPE. All Qi systems and IFPE are open source
  projects running under the GNU licence. <span style="mso-spacerun:
  yes">&nbsp;</span><u3:p></u3:p></span></p>
  <p class=MsoNormal style='margin-left:.5in;text-align:justify'><span
  style='font-family:"Microsoft Sans Serif";mso-bidi-font-family:"Times New Roman"'>&nbsp;<u3:p></u3:p></span></p>
  <p class=MsoNormal>&nbsp;<u3:p></u3:p></p>
  </td>
 </tr>
</table>

</div>

<p class=MsoNormal><span style='font-size:12.0pt'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></p>

</div>

</body>

</html>
